package com.lilosoft.business.cga.models;

import java.util.ArrayList;
import java.util.List;

public class SysDeptExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SysDeptExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDeptIdIsNull() {
            addCriterion("DEPT_ID is null");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNotNull() {
            addCriterion("DEPT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andDeptIdEqualTo(String value) {
            addCriterion("DEPT_ID =", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotEqualTo(String value) {
            addCriterion("DEPT_ID <>", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThan(String value) {
            addCriterion("DEPT_ID >", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_ID >=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThan(String value) {
            addCriterion("DEPT_ID <", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThanOrEqualTo(String value) {
            addCriterion("DEPT_ID <=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLike(String value) {
            addCriterion("DEPT_ID like", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotLike(String value) {
            addCriterion("DEPT_ID not like", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdIn(List<String> values) {
            addCriterion("DEPT_ID in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotIn(List<String> values) {
            addCriterion("DEPT_ID not in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdBetween(String value1, String value2) {
            addCriterion("DEPT_ID between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotBetween(String value1, String value2) {
            addCriterion("DEPT_ID not between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion("PARENT_ID is null");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion("PARENT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andParentIdEqualTo(String value) {
            addCriterion("PARENT_ID =", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotEqualTo(String value) {
            addCriterion("PARENT_ID <>", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThan(String value) {
            addCriterion("PARENT_ID >", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(String value) {
            addCriterion("PARENT_ID >=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThan(String value) {
            addCriterion("PARENT_ID <", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThanOrEqualTo(String value) {
            addCriterion("PARENT_ID <=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLike(String value) {
            addCriterion("PARENT_ID like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotLike(String value) {
            addCriterion("PARENT_ID not like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdIn(List<String> values) {
            addCriterion("PARENT_ID in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotIn(List<String> values) {
            addCriterion("PARENT_ID not in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdBetween(String value1, String value2) {
            addCriterion("PARENT_ID between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotBetween(String value1, String value2) {
            addCriterion("PARENT_ID not between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andIsOrderIsNull() {
            addCriterion("IS_ORDER is null");
            return (Criteria) this;
        }

        public Criteria andIsOrderIsNotNull() {
            addCriterion("IS_ORDER is not null");
            return (Criteria) this;
        }

        public Criteria andIsOrderEqualTo(Integer value) {
            addCriterion("IS_ORDER =", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderNotEqualTo(Integer value) {
            addCriterion("IS_ORDER <>", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderGreaterThan(Integer value) {
            addCriterion("IS_ORDER >", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderGreaterThanOrEqualTo(Integer value) {
            addCriterion("IS_ORDER >=", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderLessThan(Integer value) {
            addCriterion("IS_ORDER <", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderLessThanOrEqualTo(Integer value) {
            addCriterion("IS_ORDER <=", value, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderIn(List<Integer> values) {
            addCriterion("IS_ORDER in", values, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderNotIn(List<Integer> values) {
            addCriterion("IS_ORDER not in", values, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderBetween(Integer value1, Integer value2) {
            addCriterion("IS_ORDER between", value1, value2, "isOrder");
            return (Criteria) this;
        }

        public Criteria andIsOrderNotBetween(Integer value1, Integer value2) {
            addCriterion("IS_ORDER not between", value1, value2, "isOrder");
            return (Criteria) this;
        }

        public Criteria andDeptCodeIsNull() {
            addCriterion("DEPT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andDeptCodeIsNotNull() {
            addCriterion("DEPT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andDeptCodeEqualTo(String value) {
            addCriterion("DEPT_CODE =", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeNotEqualTo(String value) {
            addCriterion("DEPT_CODE <>", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeGreaterThan(String value) {
            addCriterion("DEPT_CODE >", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_CODE >=", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeLessThan(String value) {
            addCriterion("DEPT_CODE <", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeLessThanOrEqualTo(String value) {
            addCriterion("DEPT_CODE <=", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeLike(String value) {
            addCriterion("DEPT_CODE like", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeNotLike(String value) {
            addCriterion("DEPT_CODE not like", value, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeIn(List<String> values) {
            addCriterion("DEPT_CODE in", values, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeNotIn(List<String> values) {
            addCriterion("DEPT_CODE not in", values, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeBetween(String value1, String value2) {
            addCriterion("DEPT_CODE between", value1, value2, "deptCode");
            return (Criteria) this;
        }

        public Criteria andDeptCodeNotBetween(String value1, String value2) {
            addCriterion("DEPT_CODE not between", value1, value2, "deptCode");
            return (Criteria) this;
        }

        public Criteria andIsUseIsNull() {
            addCriterion("IS_USE is null");
            return (Criteria) this;
        }

        public Criteria andIsUseIsNotNull() {
            addCriterion("IS_USE is not null");
            return (Criteria) this;
        }

        public Criteria andIsUseEqualTo(String value) {
            addCriterion("IS_USE =", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseNotEqualTo(String value) {
            addCriterion("IS_USE <>", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseGreaterThan(String value) {
            addCriterion("IS_USE >", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseGreaterThanOrEqualTo(String value) {
            addCriterion("IS_USE >=", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseLessThan(String value) {
            addCriterion("IS_USE <", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseLessThanOrEqualTo(String value) {
            addCriterion("IS_USE <=", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseLike(String value) {
            addCriterion("IS_USE like", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseNotLike(String value) {
            addCriterion("IS_USE not like", value, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseIn(List<String> values) {
            addCriterion("IS_USE in", values, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseNotIn(List<String> values) {
            addCriterion("IS_USE not in", values, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseBetween(String value1, String value2) {
            addCriterion("IS_USE between", value1, value2, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsUseNotBetween(String value1, String value2) {
            addCriterion("IS_USE not between", value1, value2, "isUse");
            return (Criteria) this;
        }

        public Criteria andIsBusIsNull() {
            addCriterion("IS_BUS is null");
            return (Criteria) this;
        }

        public Criteria andIsBusIsNotNull() {
            addCriterion("IS_BUS is not null");
            return (Criteria) this;
        }

        public Criteria andIsBusEqualTo(String value) {
            addCriterion("IS_BUS =", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusNotEqualTo(String value) {
            addCriterion("IS_BUS <>", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusGreaterThan(String value) {
            addCriterion("IS_BUS >", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusGreaterThanOrEqualTo(String value) {
            addCriterion("IS_BUS >=", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusLessThan(String value) {
            addCriterion("IS_BUS <", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusLessThanOrEqualTo(String value) {
            addCriterion("IS_BUS <=", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusLike(String value) {
            addCriterion("IS_BUS like", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusNotLike(String value) {
            addCriterion("IS_BUS not like", value, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusIn(List<String> values) {
            addCriterion("IS_BUS in", values, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusNotIn(List<String> values) {
            addCriterion("IS_BUS not in", values, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusBetween(String value1, String value2) {
            addCriterion("IS_BUS between", value1, value2, "isBus");
            return (Criteria) this;
        }

        public Criteria andIsBusNotBetween(String value1, String value2) {
            addCriterion("IS_BUS not between", value1, value2, "isBus");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("REMARK is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("REMARK is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("REMARK =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("REMARK >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("REMARK <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("REMARK like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("REMARK not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("REMARK in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andDeptIconIsNull() {
            addCriterion("DEPT_ICON is null");
            return (Criteria) this;
        }

        public Criteria andDeptIconIsNotNull() {
            addCriterion("DEPT_ICON is not null");
            return (Criteria) this;
        }

        public Criteria andDeptIconEqualTo(String value) {
            addCriterion("DEPT_ICON =", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconNotEqualTo(String value) {
            addCriterion("DEPT_ICON <>", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconGreaterThan(String value) {
            addCriterion("DEPT_ICON >", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_ICON >=", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconLessThan(String value) {
            addCriterion("DEPT_ICON <", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconLessThanOrEqualTo(String value) {
            addCriterion("DEPT_ICON <=", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconLike(String value) {
            addCriterion("DEPT_ICON like", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconNotLike(String value) {
            addCriterion("DEPT_ICON not like", value, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconIn(List<String> values) {
            addCriterion("DEPT_ICON in", values, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconNotIn(List<String> values) {
            addCriterion("DEPT_ICON not in", values, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconBetween(String value1, String value2) {
            addCriterion("DEPT_ICON between", value1, value2, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptIconNotBetween(String value1, String value2) {
            addCriterion("DEPT_ICON not between", value1, value2, "deptIcon");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyIsNull() {
            addCriterion("DEPT_NAME_PY is null");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyIsNotNull() {
            addCriterion("DEPT_NAME_PY is not null");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyEqualTo(String value) {
            addCriterion("DEPT_NAME_PY =", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyNotEqualTo(String value) {
            addCriterion("DEPT_NAME_PY <>", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyGreaterThan(String value) {
            addCriterion("DEPT_NAME_PY >", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_NAME_PY >=", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyLessThan(String value) {
            addCriterion("DEPT_NAME_PY <", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyLessThanOrEqualTo(String value) {
            addCriterion("DEPT_NAME_PY <=", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyLike(String value) {
            addCriterion("DEPT_NAME_PY like", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyNotLike(String value) {
            addCriterion("DEPT_NAME_PY not like", value, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyIn(List<String> values) {
            addCriterion("DEPT_NAME_PY in", values, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyNotIn(List<String> values) {
            addCriterion("DEPT_NAME_PY not in", values, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyBetween(String value1, String value2) {
            addCriterion("DEPT_NAME_PY between", value1, value2, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andDeptNamePyNotBetween(String value1, String value2) {
            addCriterion("DEPT_NAME_PY not between", value1, value2, "deptNamePy");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIsNull() {
            addCriterion("AREA_CODE is null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIsNotNull() {
            addCriterion("AREA_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeEqualTo(String value) {
            addCriterion("AREA_CODE =", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotEqualTo(String value) {
            addCriterion("AREA_CODE <>", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThan(String value) {
            addCriterion("AREA_CODE >", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThanOrEqualTo(String value) {
            addCriterion("AREA_CODE >=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThan(String value) {
            addCriterion("AREA_CODE <", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThanOrEqualTo(String value) {
            addCriterion("AREA_CODE <=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLike(String value) {
            addCriterion("AREA_CODE like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotLike(String value) {
            addCriterion("AREA_CODE not like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIn(List<String> values) {
            addCriterion("AREA_CODE in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotIn(List<String> values) {
            addCriterion("AREA_CODE not in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeBetween(String value1, String value2) {
            addCriterion("AREA_CODE between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotBetween(String value1, String value2) {
            addCriterion("AREA_CODE not between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeIsNull() {
            addCriterion("ACCEPTING_RANGE is null");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeIsNotNull() {
            addCriterion("ACCEPTING_RANGE is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeEqualTo(String value) {
            addCriterion("ACCEPTING_RANGE =", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeNotEqualTo(String value) {
            addCriterion("ACCEPTING_RANGE <>", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeGreaterThan(String value) {
            addCriterion("ACCEPTING_RANGE >", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeGreaterThanOrEqualTo(String value) {
            addCriterion("ACCEPTING_RANGE >=", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeLessThan(String value) {
            addCriterion("ACCEPTING_RANGE <", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeLessThanOrEqualTo(String value) {
            addCriterion("ACCEPTING_RANGE <=", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeLike(String value) {
            addCriterion("ACCEPTING_RANGE like", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeNotLike(String value) {
            addCriterion("ACCEPTING_RANGE not like", value, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeIn(List<String> values) {
            addCriterion("ACCEPTING_RANGE in", values, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeNotIn(List<String> values) {
            addCriterion("ACCEPTING_RANGE not in", values, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeBetween(String value1, String value2) {
            addCriterion("ACCEPTING_RANGE between", value1, value2, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andAcceptingRangeNotBetween(String value1, String value2) {
            addCriterion("ACCEPTING_RANGE not between", value1, value2, "acceptingRange");
            return (Criteria) this;
        }

        public Criteria andDeptManagerIsNull() {
            addCriterion("DEPT_MANAGER is null");
            return (Criteria) this;
        }

        public Criteria andDeptManagerIsNotNull() {
            addCriterion("DEPT_MANAGER is not null");
            return (Criteria) this;
        }

        public Criteria andDeptManagerEqualTo(String value) {
            addCriterion("DEPT_MANAGER =", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerNotEqualTo(String value) {
            addCriterion("DEPT_MANAGER <>", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerGreaterThan(String value) {
            addCriterion("DEPT_MANAGER >", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_MANAGER >=", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerLessThan(String value) {
            addCriterion("DEPT_MANAGER <", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerLessThanOrEqualTo(String value) {
            addCriterion("DEPT_MANAGER <=", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerLike(String value) {
            addCriterion("DEPT_MANAGER like", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerNotLike(String value) {
            addCriterion("DEPT_MANAGER not like", value, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerIn(List<String> values) {
            addCriterion("DEPT_MANAGER in", values, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerNotIn(List<String> values) {
            addCriterion("DEPT_MANAGER not in", values, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerBetween(String value1, String value2) {
            addCriterion("DEPT_MANAGER between", value1, value2, "deptManager");
            return (Criteria) this;
        }

        public Criteria andDeptManagerNotBetween(String value1, String value2) {
            addCriterion("DEPT_MANAGER not between", value1, value2, "deptManager");
            return (Criteria) this;
        }

        public Criteria andLesseeIsNull() {
            addCriterion("LESSEE is null");
            return (Criteria) this;
        }

        public Criteria andLesseeIsNotNull() {
            addCriterion("LESSEE is not null");
            return (Criteria) this;
        }

        public Criteria andLesseeEqualTo(String value) {
            addCriterion("LESSEE =", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotEqualTo(String value) {
            addCriterion("LESSEE <>", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeGreaterThan(String value) {
            addCriterion("LESSEE >", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeGreaterThanOrEqualTo(String value) {
            addCriterion("LESSEE >=", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLessThan(String value) {
            addCriterion("LESSEE <", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLessThanOrEqualTo(String value) {
            addCriterion("LESSEE <=", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLike(String value) {
            addCriterion("LESSEE like", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotLike(String value) {
            addCriterion("LESSEE not like", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeIn(List<String> values) {
            addCriterion("LESSEE in", values, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotIn(List<String> values) {
            addCriterion("LESSEE not in", values, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeBetween(String value1, String value2) {
            addCriterion("LESSEE between", value1, value2, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotBetween(String value1, String value2) {
            addCriterion("LESSEE not between", value1, value2, "lessee");
            return (Criteria) this;
        }

        public Criteria andSimplyNameIsNull() {
            addCriterion("SIMPLY_NAME is null");
            return (Criteria) this;
        }

        public Criteria andSimplyNameIsNotNull() {
            addCriterion("SIMPLY_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andSimplyNameEqualTo(String value) {
            addCriterion("SIMPLY_NAME =", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameNotEqualTo(String value) {
            addCriterion("SIMPLY_NAME <>", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameGreaterThan(String value) {
            addCriterion("SIMPLY_NAME >", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameGreaterThanOrEqualTo(String value) {
            addCriterion("SIMPLY_NAME >=", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameLessThan(String value) {
            addCriterion("SIMPLY_NAME <", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameLessThanOrEqualTo(String value) {
            addCriterion("SIMPLY_NAME <=", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameLike(String value) {
            addCriterion("SIMPLY_NAME like", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameNotLike(String value) {
            addCriterion("SIMPLY_NAME not like", value, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameIn(List<String> values) {
            addCriterion("SIMPLY_NAME in", values, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameNotIn(List<String> values) {
            addCriterion("SIMPLY_NAME not in", values, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameBetween(String value1, String value2) {
            addCriterion("SIMPLY_NAME between", value1, value2, "simplyName");
            return (Criteria) this;
        }

        public Criteria andSimplyNameNotBetween(String value1, String value2) {
            addCriterion("SIMPLY_NAME not between", value1, value2, "simplyName");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNull() {
            addCriterion("DEPT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNotNull() {
            addCriterion("DEPT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andDeptNameEqualTo(String value) {
            addCriterion("DEPT_NAME =", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotEqualTo(String value) {
            addCriterion("DEPT_NAME <>", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThan(String value) {
            addCriterion("DEPT_NAME >", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThanOrEqualTo(String value) {
            addCriterion("DEPT_NAME >=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThan(String value) {
            addCriterion("DEPT_NAME <", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThanOrEqualTo(String value) {
            addCriterion("DEPT_NAME <=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLike(String value) {
            addCriterion("DEPT_NAME like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotLike(String value) {
            addCriterion("DEPT_NAME not like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameIn(List<String> values) {
            addCriterion("DEPT_NAME in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotIn(List<String> values) {
            addCriterion("DEPT_NAME not in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameBetween(String value1, String value2) {
            addCriterion("DEPT_NAME between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotBetween(String value1, String value2) {
            addCriterion("DEPT_NAME not between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("LATITUDE is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("LATITUDE is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("LATITUDE =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("LATITUDE <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("LATITUDE >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("LATITUDE >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("LATITUDE <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("LATITUDE <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("LATITUDE like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("LATITUDE not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("LATITUDE in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("LATITUDE not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("LATITUDE between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("LATITUDE not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("LONGITUDE is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("LONGITUDE is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("LONGITUDE =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("LONGITUDE <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("LONGITUDE >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("LONGITUDE >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("LONGITUDE <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("LONGITUDE <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("LONGITUDE like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("LONGITUDE not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("LONGITUDE in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("LONGITUDE not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("LONGITUDE between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("LONGITUDE not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeIsNull() {
            addCriterion("COORDINATE_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeIsNotNull() {
            addCriterion("COORDINATE_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeEqualTo(Integer value) {
            addCriterion("COORDINATE_TYPE =", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeNotEqualTo(Integer value) {
            addCriterion("COORDINATE_TYPE <>", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeGreaterThan(Integer value) {
            addCriterion("COORDINATE_TYPE >", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("COORDINATE_TYPE >=", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeLessThan(Integer value) {
            addCriterion("COORDINATE_TYPE <", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeLessThanOrEqualTo(Integer value) {
            addCriterion("COORDINATE_TYPE <=", value, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeIn(List<Integer> values) {
            addCriterion("COORDINATE_TYPE in", values, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeNotIn(List<Integer> values) {
            addCriterion("COORDINATE_TYPE not in", values, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeBetween(Integer value1, Integer value2) {
            addCriterion("COORDINATE_TYPE between", value1, value2, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andCoordinateTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("COORDINATE_TYPE not between", value1, value2, "coordinateType");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("ADDRESS is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("ADDRESS is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("ADDRESS =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("ADDRESS <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("ADDRESS >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("ADDRESS >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("ADDRESS <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("ADDRESS <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("ADDRESS like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("ADDRESS not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("ADDRESS in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("ADDRESS not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("ADDRESS between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("ADDRESS not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andContactNumberIsNull() {
            addCriterion("CONTACT_NUMBER is null");
            return (Criteria) this;
        }

        public Criteria andContactNumberIsNotNull() {
            addCriterion("CONTACT_NUMBER is not null");
            return (Criteria) this;
        }

        public Criteria andContactNumberEqualTo(String value) {
            addCriterion("CONTACT_NUMBER =", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotEqualTo(String value) {
            addCriterion("CONTACT_NUMBER <>", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberGreaterThan(String value) {
            addCriterion("CONTACT_NUMBER >", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberGreaterThanOrEqualTo(String value) {
            addCriterion("CONTACT_NUMBER >=", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLessThan(String value) {
            addCriterion("CONTACT_NUMBER <", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLessThanOrEqualTo(String value) {
            addCriterion("CONTACT_NUMBER <=", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLike(String value) {
            addCriterion("CONTACT_NUMBER like", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotLike(String value) {
            addCriterion("CONTACT_NUMBER not like", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberIn(List<String> values) {
            addCriterion("CONTACT_NUMBER in", values, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotIn(List<String> values) {
            addCriterion("CONTACT_NUMBER not in", values, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberBetween(String value1, String value2) {
            addCriterion("CONTACT_NUMBER between", value1, value2, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotBetween(String value1, String value2) {
            addCriterion("CONTACT_NUMBER not between", value1, value2, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andPositionIsNull() {
            addCriterion("POSITION is null");
            return (Criteria) this;
        }

        public Criteria andPositionIsNotNull() {
            addCriterion("POSITION is not null");
            return (Criteria) this;
        }

        public Criteria andPositionEqualTo(String value) {
            addCriterion("POSITION =", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotEqualTo(String value) {
            addCriterion("POSITION <>", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThan(String value) {
            addCriterion("POSITION >", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThanOrEqualTo(String value) {
            addCriterion("POSITION >=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThan(String value) {
            addCriterion("POSITION <", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThanOrEqualTo(String value) {
            addCriterion("POSITION <=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLike(String value) {
            addCriterion("POSITION like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotLike(String value) {
            addCriterion("POSITION not like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionIn(List<String> values) {
            addCriterion("POSITION in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotIn(List<String> values) {
            addCriterion("POSITION not in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionBetween(String value1, String value2) {
            addCriterion("POSITION between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotBetween(String value1, String value2) {
            addCriterion("POSITION not between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdIsNull() {
            addCriterion("SYNC_DEPT_ID is null");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdIsNotNull() {
            addCriterion("SYNC_DEPT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdEqualTo(String value) {
            addCriterion("SYNC_DEPT_ID =", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdNotEqualTo(String value) {
            addCriterion("SYNC_DEPT_ID <>", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdGreaterThan(String value) {
            addCriterion("SYNC_DEPT_ID >", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("SYNC_DEPT_ID >=", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdLessThan(String value) {
            addCriterion("SYNC_DEPT_ID <", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdLessThanOrEqualTo(String value) {
            addCriterion("SYNC_DEPT_ID <=", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdLike(String value) {
            addCriterion("SYNC_DEPT_ID like", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdNotLike(String value) {
            addCriterion("SYNC_DEPT_ID not like", value, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdIn(List<String> values) {
            addCriterion("SYNC_DEPT_ID in", values, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdNotIn(List<String> values) {
            addCriterion("SYNC_DEPT_ID not in", values, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdBetween(String value1, String value2) {
            addCriterion("SYNC_DEPT_ID between", value1, value2, "syncDeptId");
            return (Criteria) this;
        }

        public Criteria andSyncDeptIdNotBetween(String value1, String value2) {
            addCriterion("SYNC_DEPT_ID not between", value1, value2, "syncDeptId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}